#ifndef BREAKTHROUGH_H
#define BREAKTHROUGH_H
#include "Game.h"

class BreakThrough : public Game
{
public:
	BreakThrough(void);
	BreakThrough(int columns, int rows);
	virtual ~BreakThrough(void);
	
private:
	virtual bool legalMove( const Move &gameMove );
	virtual bool winCondition();
	virtual std::string gameSpecialAction(const Move &gameMove);
	virtual void doGameSpecialAction(std::stringstream &actionStream, const Move &gameMove);
	virtual void getPossibleDestinations(std::vector<std::pair<int,int> > &possibleDestinations, std::pair<int,int> &location);
	virtual void undoSpecialAction(std::stringstream &undoAction, std::stringstream &actionStr);
	virtual void placePieces();
	
};

#endif // BREAKTHROUGH_H
